import java.io.IOException;
import java.sql.SQLOutput;
import java.util.Random;
import java.util.Scanner;
/**
 * Created with IntelliJ IDEA
 * Description
 * User:user
 * Date:2021-10-13
 * Time:9:17
 */
public class TestDemo01 {
    public static void main(String[] args) {
        Random random = new Random();    //此处可以给上一个种子，加了参数，但是每次运行都会生成的数字都是唯一的，生成的是一个伪随机数
        int randNum = random.nextInt(100) + 1;       //生成[0-100)之间的随机数
        Scanner scan = new Scanner(System.in);
        while(true){
            System.out.println("请输入你要猜的数字");
            int num = scan.nextInt();
            if(num < randNum){
                System.out.println("低了");
            }else if(num == randNum){
                System.out.println("找到了");
                break;
            }else{
                System.out.println("高了");
            }
        }
    }
    //ctrl + d会终止数字的输入输出
    //如果是在OJ上，后台会帮你结束这个循环的
    public static void main28(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNextInt()){
            int n = scan.nextInt();
            System.out.println(n);
        }

    }
    public static void main27(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入浮点数");
        System.out.println("请输入字符串");
        String str1 = scan.next();    //输入数据 如果是遇到了空格键，就会停止输入
        String str2 = scan.nextLine();//遇到空格会继续进行输入
        System.out.println(str1);
    }
    public static void main26(String[] args) {
        //此处先输入数字，控制台不会让你进行输入字符串的，系统问题
        //但是先输入字符串之后可以输入数字
        //导包操作， Java.util.Scanner
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入数字");
        int i = scan.nextInt();
        System.out.println("请输入字符串");
        String str = scan.nextLine();
        System.out.println(str);
        System.out.println(i);
    }
    //输入，这种写法很少用
    public static void main25(String[] args) throws IOException {
        System.out.println("从键盘输入一个字符");
        //只能从键盘上输入一个数字，真正意义上不会去使用他的
        char i = (char)System.in.read();        //alt+enter自动添加代码，引入相应的头文件
        System.out.println("你的输入是"+i);

    }

    //输出格式
    public static void main24(String[] args) {
        System.out.println("换行");
        System.out.print("不换行");
        System.out.printf("%d\n",4);
    }
    //输出1-10之间的数据 do-while实现
    public static void main23(String[] args) {
        int i = 1;
        do{
            //至少会被执行一次，没有把握的时候不要去挑战他
            System.out.println(i);
            i++;
        }while(i<=10);
    }

    //for循环求i的阶乘的和
    public static void main22(String[] args) {
        int sum = 0;
        for (int j = 1; j <= 5; j++) {
            int ret = 1;
            for (int i = 1; i <= j; i++) {
                ret  = ret*i;
            }
            sum += ret;
        }
        System.out.println(sum);
    }

    //for循环求i的阶乘，固定数字
    public static void main21(String[] args) {
        int ret = 1;
        for (int i = 1; i <= 5; i++) {
            ret  = ret*i;
        }
        System.out.println(ret);
    }

    //for语句练习，输出1-10之间的数字和
    public static void main20(String[] args) {
        int sum = 0;
        for(int i = 1;i <= 10;i++){
            sum += i;
        }
        System.out.println(sum);
    }


    //找到1-100之间既能被3整除又能被5整除的数
    public static void main19(String[] args) {
        int i = 1;
        while(i <= 100){
            if(i % 15 != 0){
                i++;
                continue;
            }
            System.out.println(i);
            i++;
        }

    }
    //1-20之间3的倍数
    public static void main18(String[] args) {
        int  i = 1;
        while(i <= 20){
            if(i % 3 != 0){
                i++;
                continue;    //跳过本次循环，结束本躺循环
            }
            System.out.println(i);
            i++;
        }
    }
    //找出1-10之间的第一个3的倍数
    public static void main17(String[] args) {
        int i = 1;
        while(i <= 10){
            if(i % 10 == 3){
                System.out.println(i);
                break;      //跳出整个循环
            }
            i++;
        }
    }


    public static void main16(String[] args) {
        System.out.println("hee");
    }
    /*  public static void main(String[] args) {
          int i = 100;
          while(i <= 200){
              if(i % 3 == 0){
                  System.out.println(i);
                  break;
              }
              i++;
          }*/
 /*  public static void main15(String[] args) {
        int i = 10;

       *//* 哪怕只有一行代码也要记得写上括号
       while（i <= 100）；
       while(i <= 100)
            System.out.println(i);
        i++;*//*
        while(i <= 100){
            System.out.println(i);
            i++;
        }
    }
*/
    //输出5的阶乘的和
    public static void main14(String[] args) {
        int j = 1;
        int n = 5;
        int sum = 0;
        while(j <= n){
            //求数字n的阶乘
            int i = 1;
            int ret = 1;
            while(i <= j){
                ret *=  i;
                i++;
            }
            sum += ret;
            j++;
        }
        System.out.println(sum);
    }
    /* 求出5的阶乘
    public static void main13(String[] args) {
        int n = 5;
        int i = 1;
        int ret = 1;
        while(i <= n){
            ret *=  i;
            i++;
        }
        System.out.println(ret);
    }
*/

    //1-100 奇数的和 偶数的和
    public static void main12(String[] args) {
        int i = 2;
        int sumOdd = 0;
        int sumEvn = 0;
        while(i <= 100){
            sumOdd = sumOdd + i;
            i = i + 2;
        }
        i = 1;
        System.out.println(sumOdd);
        while(i <= 100){
            sumEvn = sumEvn + i;
            i = i + 2 ;
        }
        System.out.println(sumEvn);
    }
    //计算1-100之间的奇数和 偶数和
    public static void main11(String[] args) {
        int i = 1;
        int sum1 = 0;
        int sum2 = 0;
        while(i <= 100){
            if(i % 2 != 0){
                sum1++;
            }else{
                sum2++;
            }
            i++;
        }
        System.out.println("奇数和为"+sum1+"偶数和为"+sum2);
    }
    //输入出1-100之间的数据和
    public static void main10(String[] args) {
        int i = 1;
        int sum = 0;
        while(i <= 100){
            sum += i;
            i++;
        }
        System.out.println(sum);
    }
    //输出1-10之间的数
    public static void main9(String[] args) {
        //注意避免死循环的产生,判断条件永远为真了
            /*while(true){
                System.out.println("falsoe");
            }*/
        int i =1;       //循环的初始条件
        while(i <= 10){ //循环的判断条件
            System.out.println(i);
            i++;        //循环的迭代条件
        }
    }
    public static void main8(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输出整数");
        int n = scan.nextInt();
        System.out.println(n);
        //系统不会让你输入字符串的，因为java控制台的问题
        //如果是先输出字符串再输出数字可以进行输出
        System.out.println("请输入字符串");
        String str = scan.nextLine();
        System.out.println(str);
    }
    //1----100之间的，既能除3有能除5的数
    public static void main7(String[] args) {
        //1----100之间的，既能除3有能除5的数
        for(int i = 1;i <= 100;i++){
            if(i % 15 != 0){
                i++;
                continue;
            }
            System.out.println(i);
            i++;
        }
    }
    //输入想要的字符串，但是遇到了空格就不会继续输入
    public static void main6(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str = scan.next();
        System.out.println(str);
    }
    //输入想要的字符串
    public static void main5(String[] args) {
        Scanner scan  = new Scanner(System.in);
        while(scan.hasNextLine()){
            String str = scan.nextLine();
            System.out.println(str);
        }

    }
    //不断输入想要的数据元素，输入Ctrl+D结束输入
    public static void main4(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNextInt()){
            int n = scan.nextInt();
            System.out.println(n);
        }
    }
    //求数据n的阶乘的阶乘的和
    public static void main3(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int sum = 0;
        for(int j = 1; j <= n ;j++){
            int ret = 1;
            for( int i = 1; i <= j ;i++){
                ret *= i;
            }
            sum += ret;
        }
        System.out.println(sum);
    }
    //    public static void main2(String[] args) {
//        int j = 1;
//        int n = 5;
//        int sum = 0;
//        while(j <= n){
//            int i = 1;
//            int ret = 1;
//            while(i <= j){
//                ret *= i;
//                i++;
//            }
//            sum += ret;
//            j++;
//        }
//        System.out.println(sum);
//
//    }
    public static void main1(String[] args) {
        int i = 1;
        int sum1 = 0;
        int sum2 = 0;
        while(i <= 100){
            if(i % 2 != 0){
                sum1 += i;
            }else{
                sum2 += i;
            }
            i++;
        }
        System.out.println("1--100之间的奇数和为"+sum1);
        System.out.println("1--100之间的偶数和为"+sum2);
    }
}
